﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
namespace HUI_RC3
{
    public partial class FormResult : Office2007Form
    {
        GulineManage guline;
        public FormResult(GulineManage gl)
        {
            InitializeComponent();
            guline = gl;
        }
       
        private void FormResult_Load(object sender, EventArgs e)
        {
            
            buildSinhVien();
            buildDiem();
            listBox1.SelectedIndex = 0;
            balloonTip1.SetBalloonCaption(listView1, "Click phải để bỏ chọn HọcPhần không tính điểm");
        }
        private void buildSinhVien()
        {
            SinhVien a = guline.sinhvien;
            lblBac.Text = a.Bac;
            lblchuyennghanh.Text = a.ChuyenNganh;
            lblHoten.Text = a.HoTen;
            lblLop.Text = a.LopHoc;
            lbloai.Text = a.LoaiHinh;
            lblKhoa.Text = a.KhoaHoa;
            pictureBox1.ImageLocation = a.Hinh;
            lblmasv.Text = a.MaSV;
        }
        private void buildDiem()
        {
            guline.buildtichluy();
            labeltichluy4.Text = guline.TL4.ToString();
            labeltichluy10.Text = guline.TL10.ToString();
            listBox1.Items.Clear();
     
            listBox1.Items.Add("Học phần Đạt Giỏi (" + guline.SMGioi + ")");
            listBox1.Items.Add("Học phần Đạt Khá (" + guline.SMKha + ")");
            listBox1.Items.Add("Học phần Đạt TB (" + guline.SMTB + ")");
            listBox1.Items.Add("Học phần Đạt Yếu (" + guline.SMYeu + ")");
            listBox1.Items.Add("Học phần Không Đạt (" + guline.SMKem + ")");
            listBox1.Items.Add("Học phần Chứng chỉ (" + guline.SMChungChi + ")");
            listBox1.Items.Add("Học phần Chưa có điểm CK (" + guline.SMChuaCoDiem + ")");
            listBox1.Items.Add("Học phần Chọn bỏ qua (" + guline.SMBoChon + ")");
          
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            groupPanel5.Text = listBox1.SelectedItem.ToString();
            buildlistView(listBox1.SelectedIndex);
        }
        private void buildlistView(int type)
        {
            listView1.Items.Clear();
            
            if (type == 0)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 9)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 1)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 8)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 2)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 7)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 3)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 6)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 4)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 5)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 5)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 1)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else if (type == 6)
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 2)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
            else
            {
                foreach (Mon a in guline.DanhSachMon)
                {
                    if (a.TinhTrang == 4)
                    {
                        ListViewItem li = new ListViewItem(a.MaHP);
                        li.SubItems.Add(a.TenHP);
                        li.SubItems.Add(a.SoTC.ToString());
                        li.SubItems.Add(a.DiemCK.ToString());
                        li.SubItems.Add(a.DiemHe4.ToString());
                        li.SubItems.Add(a.GhiChu);
                        listView1.Items.Add(li);
                    }
                }
            }
        }

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            ListView listView = sender as ListView;
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                ListViewItem item = listView.GetItemAt(e.X, e.Y);
                if (item != null)
                {
                    string mahp = listView1.SelectedItems[0].Text;
                    Mon tim = null;
                    foreach (Mon a in guline.DanhSachMon)
                    {
                        if (a.MaHP == mahp)
                        {
                            tim = a;
                            break;
                        }
                    }
                    if (tim != null)
                    {
                        if (tim.TinhTrang != 4)
                        {
                            kotinhdiemToolStripMenuItem.Visible = true;
                            tinhdiemPhầnNàyToolStripMenuItem.Visible = false;
                        }
                        else
                        {
                            kotinhdiemToolStripMenuItem.Visible=false;
                            tinhdiemPhầnNàyToolStripMenuItem.Visible = true;
                        }
                        item.Selected = true;
                        contextMenuStrip1.Show(listView, e.Location);
                    }
                }
            }
        }

        private void khôngTínhĐiểmMônNàyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string mahp = listView1.SelectedItems[0].Text;
            Mon a = null;
            foreach (Mon b in guline.DanhSachMon)
            {
                if (b.MaHP == mahp)
                {
                    a = b;
                    break;
                }
            }
            if (a != null)
            {
                guline.SMBoChon += 1;
                a.TinhTrang = 4;
 
                if (a.DiemCK >= 8.5)
                {
                  
                    guline.SMGioi -= 1;
                  
                }
                else if (a.DiemCK >= 7)
                {
                   
                    guline.SMKha -= 1;
                  
                }
                else if (a.DiemCK >= 5.5)
                {
                    
                    guline.SMTB -= 1;
                   
                }
                else if (a.DiemCK >= 4)
                {
                   
                    guline.SMYeu -= 1;
                  
                }
                else
                {
                   
                    guline.SMKem -= 1;
                 
                }
                buildDiem();
               
                listBox1.SelectedIndex = 7;
                
            }
            
        }

        private void tinhdiemPhầnNàyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string mahp = listView1.SelectedItems[0].Text;
            Mon a = null;
            foreach (Mon b in guline.DanhSachMon)
            {
                if (b.MaHP == mahp)
                {
                    a = b;
                    break;
                }
            }
            if (a != null)
            {
                if (a.DiemCK >= 8.5)
                {
                    a.DiemHe4 = 4;
                    guline.SMGioi += 1;
                    a.TinhTrang = 9;//gioi
                }
                else if (a.DiemCK >= 7)
                {
                    a.DiemHe4 = 3;
                    guline.SMKha += 1;
                    a.TinhTrang = 8;//kha
                }
                else if (a.DiemCK >= 5.5)
                {
                    a.DiemHe4 = 2;
                    guline.SMTB += 1;
                    a.TinhTrang = 7;//tb
                }
                else if (a.DiemCK >= 4)
                {
                    a.DiemHe4 = 1;
                    guline.SMYeu += 1;
                    a.TinhTrang = 6;//tb yeu
                }
                else
                {
                    a.DiemHe4 = 0;
                    guline.SMKem += 1;
                    a.TinhTrang = 5;//yeu
                }
               
                guline.SMBoChon -= 1;
                buildDiem();
              
                listBox1.SelectedIndex = 0;
                    
            }
            
        }
        
    }
}
